A bar code reader typically uses a beam of light to read a bar code, which consists of alternating strips ("bars") of differing reflectivities. The scanner then receives and interprets the fluctuations in the returning light that are caused by the bar code. It is known in the prior art to read bar codes by means of a hand-held wand which makes contact with the surface on which the bar code is printed. However, the need to make contact with the surface is frequently inconvenient and gives uninterpretable readings because the wand is not moved across the bar code with a sufficiently uniform velocity.
An alternative to a hand-held wand is a scanning reader which does not require physical contact with the bar code which is to be read. A scanning reader typically produces a beam of light which is repetitively scanned across an area. If the beam of light intercepts a bar code (or some other symbology), the modulated light which is reflected by the bar code is returned to sensing circuitry in the scanning reader for interpretation. The received signal is analyzed on the basis of relative time. That is, the widths of the alternating areas of different reflectivity are measured on the basis of their relative scanning times. This allows the reader to be used with bar codes which have a wide variety of sizes, the important factor being that the relative widths of the elements of the bar codes be preserved. Accordingly, it is preferable that the light beam be scanned across the bar code at a substantially uniform rate in order to ease the task of interpreting the bar code.
In order to insure that the light beam is scanned at a substantially uniform rate, it is typically reflected from a mirror within the scanner that moves repetitively at a uniform rate. The mirror is generally driven by a small electrical motor under the control of electronic control circuitry. The mirror is typically either rotating at a constant speed or oscillating on the end of a shaft attached to a motor which can step between two extreme angular positions. Examples of rotating optical elements are shown in U.S. Pat. Nos. 4,025,761, 4,097,729, 4,450,350, 4,575,625, and 4,692,603. Examples of oscillating mirror optical elements are shown in U.S. Pat. Nos. 4,593,186, 4,736,095, and 4,808,804. In hand-held applications, an oscillating mirror is generally preferable, since it can be made both lighter and more compactly than a rotating optical element.
The light source in a modern bar code scanner is generally a very low power solid state laser device, since such devices are efficient and light, and they can be made reliably and relatively inexpensively. However, the Bureau of Radiological Health has placed restrictions on the amount of laser radiation an individual should be subjected to. A variety of solutions have been developed to reduce the amount of laser light a scanner can produce. These include methods for modulating the laser and for turning off the laser when it is not in use. Another method is to park the laser when the reader is not scanning so that the light it is producing is retained within the scanning reader. However, it is possible for the scanning mirror to become inoperative, possibly transmitting laser light when it is not needed. Therefore, it is useful to be able to detect if the scanning motor has become inoperative, so that the laser can be turned off and other remedial action taken to repair the scanner. This problem has not been discussed in the prior art, including the U.S. Pat. Nos. cited above.